home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Pier Shareware 1
/
Pier Shareware 1.iso
/
007a
/
courspas.exe
/
CHAP12.EXE
/
LISTE3.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-01-06
|
2KB
|
69 lines
program DemoListes3; {LISTE3.PAS}
uses
crt; { unité de Turbo Pascal 6 }
type
pointeur = ^nombres;
nombres = record
nombre: integer;
gauche, droite: pointeur;
end;
var
p1,p2,
origine: pointeur;
i : integer;
{------------------------------------------------}
{ creer_liste }
{------------------------------------------------}
procedure creer_liste;
begin;
new(p1);
origine:=p1; {par sécurité, pour qu'un pointeur demeure sur
un élément de la liste }
p1^.gauche:=nil;
p1^.droite:=nil;
p1^.nombre:=1;
for i:=2 to 10 do
begin;
new(p2); {création d'un nouvel élément}
p2^.nombre:=i;
p2^.gauche:=p1; {pointeur gauche de p2 vers p1}
p1^.droite:=p2; {pointeur droit de p1 vers p2}
p1:=p2;
end;
p2^.droite:=nil;
end;
{------------------------------------------------}
{ afficher_liste }
{------------------------------------------------}
procedure afficher_liste;
begin;
clrscr;
writeln('Affichage de la série de nombres:');
writeln;
p1:=origine;
while p1<>nil do {affichage de la liste de gauche à droite}
begin
write(p1^.nombre,' ');
p2:=p1;
p1:=p1^.droite; {pointeur p1 sur l'élément de droite}
end;
p1:=p2; {pointeur p1 revient au dernier élément}
writeln;
writeln;
while p1<>nil do {affichage de la liste de droite à gauche}
begin
write(p1^.nombre,' ');
p1:=p1^.gauche;
end;
readln;
end;
{------------------------------------------------}
begin { programme principal }
creer_liste;
afficher_liste;
end.